import time
from collections import defaultdict

# 创建一个字典来存储过去一分钟内的所有行为
behavior_records = defaultdict(list)


def update_behavior_records(behavior):
    current_time = time.time()

    # 删除超过一分钟的旧行为
    for b, times in list(behavior_records.items()):
        behavior_records[b] = [t for t in times if current_time - t <= 60]

    # 如果行为超过限制，则删除离现在时间最久的一次记录
    if len(behavior_records[behavior]) >= 3:
        behavior_records[behavior].pop(0)

    # 添加新的行为记录
    behavior_records[behavior].append(current_time)


def check_behavior(behavior, limit, n):
    update_behavior_records(behavior)

    # 检查行为是否超过指定次数限制
    count = len(behavior_records[behavior])

    if count >= n:
        return True
    else:
        return False


# 输出行为记录
def print_behavior_records():
    print("当前行为记录：")
    for behavior, times in behavior_records.items():
        for t in times:
            print(time.strftime("%Y-%m-%d %H:%M:%S", time.localtime(t)), behavior)


# 示例使用
while True:
    behavior = input("请输入行为：")
    if behavior == "exit":
        break

    if check_behavior(behavior, 1, 3):
        print("行为在一分钟内超过了3次！")
    else:
        print("行为正常。")

    print_behavior_records()
